㈠ 设计一个程序(c语言 指针)

//DEVC

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

#defineN20

typedefstruct
{
charname[10];
intage;
intsex;
intgrade;
intnclass;
introom;
}INFO;

intmain()
{
char*name1[20]={"张","王","李","赵","钱","孙","蒋","秦","任","刘","周","郑","吴","朱","许","何","吕","谢","方","叶"};
char*name2[20]={"子","欣","晨","紫","诗","梦","嘉","一","思","静","可","佳","心","梓","俊","明","浩","博","文","天"};
char*name3[20]={"轩","勇","涛","军","浩","豪","宇","俊","鸣","熙","文","国","佑","泽","然","杰","远","平","秋","飞"};
srand((unsigned)time(0));
INFO*s;
s=(INFO*)malloc(sizeof(INFO)*N);
intn,i;
for(i=0;i<N;i++)//随机初始N个同学姓名年龄,性别,班级等数据
{
n=rand()%20;
strcpy(s[i].name,name1[n]);
n=rand()%20;
strcat(s[i].name,name2[n]);
n=rand()%20;
strcat(s[i].name,name3[n]);
//以上为随机生成姓名
s[i].age=rand()%3+16;

s[i].sex=rand()%2;

s[i].grade=rand()%3+1;

s[i].nclass=rand()%6+1;

s[i].room=100*(rand()%5+1)+rand()%20+1;
}
for(i=0;i<N;i++)
{
printf("%s%d岁",s[i].name,s[i].age);
if(s[i].sex==1)
{
printf("男");
}
else
{
printf("女");
}
printf("%d年级%d班%d室 ",s[i].grade,s[i].nclass,s[i].room);
}

charch[50];
intfind;
while(1)
{
find=0;
memset(ch,'',50);
printf(" 请输入要查询的姓名:");
fflush(stdin);
scanf("%s",ch);
for(i=0;i<N;i++)
{
if(strcmp(s[i].name,ch)==0)
{
find=1;
printf("%s%d岁",s[i].name,s[i].age);
if(s[i].sex==1)
{
printf("男");
}
else
{
printf("女");
}
printf("%d年级%d班%d室 ",s[i].grade,s[i].nclass,s[i].room);
break;
}
}
if(find==0)
{
printf(" 未找到!");
}
}
return0;
}

㈡ 用c语言编写一个程序

应该多给几个例子,n=10的时候如何处理?得到10,110,210,1210等等?
若是这样的,试试下面程序:
/*
用c语言编写一个程序:对于一个自然数n(n<=50),统计具有下列数字的个数,
并输出所有符合条件的数字:自然数n,在n的左边加上一个自然数,
但该自然数不能超过原数的一半;继续按此规则进行处理,直到不能加自然数为止。
例如当n=6时,符合条件条件的是:6,16,26,36,126,136共6个;
当n=5时,符合条件的是:5,15,25,125.(0也是自然数,所以要加上本身)。。。
*/
#include
<stdio.h>
#include
<stdlib.h>
int
g_count=0;
void
fun(int
n,int
d,int
b)
{
int
i;
printf("%8d
",d);
g_count++;
if(g_count%8==0)
printf("\n");
for(i=1;i<=n/2;i++)
{
fun(i,i*b+d,b*10);
}
}
void
result(int
n)
{
int
t=n,d=n,b=10;
printf("result:\n");
g_count=0;
while(t>=10)
{
t/=10;
b*=10;
}
fun(n,d,b);
printf("\ntotal
%d
numbers\n\n",g_count);
}
int
main()
{
int
n;
printf("input
n(n<=50):\n");
while(scanf("%d",&n)!=EOF)
{
if(n>=0&&n<=50)
result(n);
printf("input
n(n<=50):\n");
}
return
0;
}
我这,若是放开n的限制,n=200的时候,计算花掉20多秒吧,总共205658个。
n=300的话,算了几分钟都没结束。估计也得使用long
long数据类型了。使用递归不是最快的,重复计算多。
网络推荐也不求真相?有误导了吧。
对于楼主新补充的提升,我的程序是这样做的,满足你的要求。

㈢ C语言编写一个软件

1、首来先打开pelles C,创建一个新的项自目文件。

㈣ c语言编写一个程序,非常简单

(1)

#include"stdio.h"
#include"math.h"
intmain(intargc,char*argv[]){
floatm,r;
intn;
printf("Pleaseinput,. ");
if(scanf("%f,%d,%f",&m,&n,&r)!=3||m<0||n<0||r<0){
("Inputerror,exit... ");
return0;
}
printf("Interest:%.0f ",m*(pow(1+r,n)-1)*.8);
return0;
}

运行样例:

㈤ c语言设计一个程序,要求:

#include<stdio.h>

classSquare{
intlen,high;
public:
voidInit(intlen,inthigh){
this->len=len;
this->high=high;
}
intarea(){
returnlen*high;
}
intperimeter(){
return2*(len+high);
}
};

intmain(){
Squares;
intlen,high;
printf("请输入矩形的长和宽(空格隔开)内:");
scanf("%d%d",&len,&high);
s.Init(len,high);
printf("矩形面积容=%d ",s.area());
printf("矩形周长=%d ",s.perimeter());

}

㈥ C语言编写一个小程序

#include<stdio.h>
#include<time.h>
intmain()
{
inta,b;
srand(time(NULL));
a=rand();
scanf("%d",&b);
a==b?printf("true"):printf("false");
return0;
}

//运行抄示例:

㈦ C语言编写一个程序

#include "stdio.h"

#define N 3

void Input(int p[][N]){

int i,j;

for(i=0;i<N;i++)

for(j=0;j<N;scanf("%d",p[i]+j++));

}

void Mrx_pro(int a[][N],int b[][N],int c[][N]){

int i,j,k;

for(k=0;k<N;k++)

for(i=0;i<N;i++)

for(c[k][i]=j=0;j<N;c[k][i]+=a[k][j++]*b[j][i]);

}

void Outmrx(int p[][N]){

int i,j;

for(i=0;i<N;i++){

for(j=0;j<N;printf("%6d",p[i][j++]));

printf(" ");

}

}

int main(int argc,char *argv[]){

int A[N][N]={1,2,3,4,5,6,7,8,9},B[N][N]={10,20,30,40,50,60,70,80,90},C[N][N];

Outmrx(A);

printf("x ");

Outmrx(B);

printf("= ");

Mrx_pro(A,B,C);

Outmrx(C);

printf(" ================== Please input matrix A... ");

Input(A);

printf("Please input matrix B... ");

Input(B);

printf(" ------------------ ");

Outmrx(A);

printf("x ");

Outmrx(B);

printf("= ");

Mrx_pro(A,B,C);

Outmrx(C);

return 0;

}

代码格式和运行样例图片:

㈧ 设计一个C语言程序

#include<stdio.h>

#include<stdlib.h>

int main()

{

FILE* file = fopen("procer.in","r");

char* buf=(char* )malloc(1<<20);

char* buf2=(char* )malloc(50);

int len;

while((len=fread(buf,1,1<<20,file))>0)

{

int i;

for(i=0;i<len;++i)

{

printf("%08s ",itoa((int)buf[i],buf2,2));

}

}

}

把procer.in文件的内容“123”转成二进制"00110001 00110010 00110011 00001010"(包含了最后的换行符,ASCII是10)了。

如果希望把答案写入文件可以追问,我追答。