结构体1
问题:一个班有20名学生,输入每个学生的学号、姓名和一门课的成绩,求该班的平均成绩。
#include<stdio.h>
struct student {
int number;//学号
char name[8];//姓名
float score;//成绩
};
int main()
{ int i;
struct student p[20];
for(i=0;i<20;i++)
{ scanf("%s",&p[i].name);
scanf("%d",&p[i].number);
scanf("%f",&p[i].score);
}
float sum=0.00;
int j;
for(j=0;j<20;j++)
{sum=sum+p[j].score;
}
float average;
average=sum/20.00;
printf("%f",average);
return 0;
}
结构体2
问题:编写一个程序,实现从键盘输入一串字符,将其中的小写字母全部转换成大写字母后,存储到文件upperFile.txt中。输入的字符串以“!”结束。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{ FILE *f;
char p[100];
int i=0;
printf("输入字符串,并以感叹号结尾");
gets(p);
if((f=fopen("upperFile.txt","w"))==NULL)//打开要输出的文件,让f指向它;
{
printf("无法打开文件\n");
exit(0);
}
while(p[i]!='!')
{
if(p[i]>='a' && p[i]<='z')
{p[i]-=32;
}
fputc(p[i],f);//向文本文件输出字符
i++;
}
fclose(f);//把字符串输出
f=fopen("upperFile.txt","r");
printf("转换后的字符串为\n");
puts(fgets(p,strlen(p)+1,f));//从文件中读取一个字符串,长度为strlen(p),并显示
fclose(f);
return 0;
}
结构体3
问题:根据n显示三角图形,n从键盘输入。
#include<stdio.h>
int main()
{
int n,i,p,j,t,m=-1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=n-i;//空格数
for(j=1;j<=p;j++)
{printf(" ");
}
m=m+2;
for(t=1;t<=m;t++)
{printf("*");
}
printf("\n");
}
return 0;
}
结构体4
问题:编写一函数:int isHuiwen(char s[]),判断s是否是回文,若是,返回1,不是返回0。在main中输入具体的字符串,根据调用的结果显示是否是回文,若是,显示“yes”,若不是,显示“no”。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int isHuiwen(char s[])
{int i,len,t=1;
len=strlen(s);
for(i=0;i<len;i++)
{if(s[i]!=s[len-i-1])
{t=0;
break;
}
}
return t;
}
int main()
{char s[100];
gets(s);
if(isHuiwen(s)==1)
{printf("yes");
}
else
{printf("no");
}
return 0;
}
结构体5
问题:输入n个数,判是否为素数。
#include<stdio.h>
int judge(int a)
{int i,t=1;
for(i=2;i<a;i++)
{if(a%i==0)
{t=0;
break;
}
}
return t;
}
int main()
{int n,i,t;
scanf("%d",&n);
int p[n];
for(i=0;i<n;i++)
{scanf("%d",&p[i]);
}
for(t=0;t<n;t++)
{if(judge(p[t])==1)
{printf("yes\n");
}
else
{printf("no\n");
}
}
return 0;
}
结构体6
问题:输入若干个数,判断是奇数还是偶数。
#include<stdio.h>
int judge(int a)
{int t=1;
if(a%2==0)
{t=0;
}
return t;
}
int main()
{int n,i;
scanf("%d",&n);
int p[n];
for(i=0;i<n;i++)
{scanf("%d",&p[i]);
}
int j;
for(j=0;j<n;j++)
{if(judge(p[j])==1)
{printf("yes\n");
}
else
{printf("no\n");
}
}
return 0;
}
结构体7
问题:叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如:
小明会把1234它看成4321;把-1234看成-4321;把230看成032 (032=32);把-230看成-032(-032=-32)。
现在,小明做了一些a+b和a-b的题目(a, b为整数且不含前导0),如果给你这些题目正确的答案,你能猜出小明会做得到什么答案吗?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct title {int x;int y; };
void analysis (struct title p)//分析出a 与 b 并换位置
{struct title r;
int m;
m=p.x +p.y;
r.x =m/2;
m=p.x -p.y;
r.y=m/2;
int i,len=1,sum=0,ss,b;
ss=r.x;
while((ss=ss/10)!=0)
{
len++;
}
for(i=1;i<=len;i++)
{ b=r.x %10;
r.x =r.x/10;
sum=sum*10+b;
}
r.x =sum;
sum=0;
len=1;
ss=r.y;
while((ss=ss/10)!=0)
{
len++;
}
for(i=1;i<=len;i++)
{b=r.y %10;
r.y=r.y/10;
sum=sum*10+b;
}
r.y=sum;
struct title q;
q.x =r.x +r.y ;
q.y=r.x -r.y;
printf("%d ",q.x );
printf("%d\n",q.y);
return ;
}
int main()
{int n;
scanf("%d",&n);
struct title a[n];
int i;
for(i=0;i<n;i++)
{scanf("%d",&a[i].x);
scanf("%d",&a[i].y);
}
int c;
for(c=0;c<n;c++)
{analysis(a[c]);
}
return 0;
}