一口好锅
1输入两个整数a和b,若a和b的平方和大于100,则输出平方和的百位以上的数字,否则输出a和 b的和。 要求: 1)输出结果时说明平方和是大于100还是小于100( >100或<100 )#include<>int main(){ int a, b, c; scanf("%d%d", &a, &b); c = a * a + b * b; if(c > 100) printf("平方和大于100\n%d\n", c%100); else printf("平方和小于等于100\n%d\n", a + b); return 0;} 2输入一个整数,判断是否是5和7的公倍数,若是则输出:5and7yes,否则再判断是否是3的倍数,若是3的倍数输出:3yes,若都不是则输出:no#include<>int main(){ int input; scanf("%d", &input); if(input % 5 == 0 && input % 7 == 0)printf("5and7yes\n"); else if(input % 3 == 0) printf("3yes\n"); else printf("no\n"); return 0;}第三,四题和第二题差不多 5计算公式: [ 2*x x=2 y= [ x*x+1 x<2 [ 2*x*x+3*x+1 x>2 要求: 1)从键盘输入x的值,根据x的值求y的值 2)输出y的值#include<>int main(){ int x, y; scanf("%d", &x); if(x == 2) y = 2*x; else if(x < 2) y = x*x+1; else y = 2 * x * x + 3 * x + 1; printf("%d\n", y); return 0;}8 和7差不多 下面原理都差不多 用if基本都能搞定 判断条件就行了 应该LZ能搞定了 东西有点多 -。- 就写这些吧 其他的就不一一写了^ ^
迷糊喵星人
完整的fun函数代码如下:
int fun(STU a[], int n, STU h[]) {
int i, k = 0;
double avg = 0;
for (i = 0; i < n; i++) {
a[i].sum = a[i].s1 * + a[i].s2 * ;
avg += a[i].sum; // 先计算总分
}
avg = avg / n; // 再计算平均分
for (i = 0; i < n; i++) {
if (a[i].sum > avg) { // 统计平均分以上的学生
strcpy(a[i].level, "均分以上");
h[k++] = a[i];
}
}
return k;
}
运行结果如下:
可见成功输出了平均分以上的学生信息,望采纳~
叶伟2050
这是一道 C 语言程序设计题,要求实现一个函数,用于计算学生的总评成绩,并将总评成绩平均分以上的学生的信息存储到结构体数组 h 中。
给定的函数原型为:
int fun (STU a[],int n,STU h[])
该函数接收三个参数:
函数返回值是总评成绩平均分以上的学生的人数。
sys19818888
1、#include <>main(){ int a, b, square; scanf (“%d%d”, &a, &b); square = a * a + b * b; if (square > 100) \*判断a、b的平方和是否大于100 *、 { printf (“their square is bigger than 100\n”); printf (“the digitale bigger than 100 is :%d”, square / 100); } else { printf (“their square is smaller than 100\n”); printf (“their addtion is: %d”, a + b); }}2、#include <>main(){ int n; if ((n % 5 == 0) && (n % 7 == 0)) \* 判断n是否为5和7的公倍数 *\ { printf (“5 and 7 yes”); } else { if (n % 3 == 0) \* 判断是否能被3整除 *\ printf (“ 3 yes”); else printf (“no”); }}3、(3题和平共处题与第2题相似的,只要把条件改一下就可以了)#include <>main(){ int n; if ((n % 3 == 0) && (n % 5 == 0)) { printf (“3 and 5 yes”); } else { if (n % 7 == 0) printf (“ 7 yes”); else printf (“no”); }}4、#include <>main(){ int n; if ((n % 2 == 0) && (n % 3 == 0)) { printf (“2&3 yes”); } else { if (n % 7 == 0) printf (“ 3 yes”); else printf (“no”); }}5、#include <>main(){ int x, y; printf ("x ="); scanf ("%d", &x); if (x == 2) \* 用一个多分支语句将几种情况分开计算*\ y = 2 * x; else if (x < 2) y = x * x + 1; else y = 2 * x * x + 3 * x + 1; printf ("y = %d", y);}6、(6 题和7题还有8题都与5题相似)#include <>main(){ int x, y; printf ("x ="); scanf ("%d", &x); if (x == 1) y = 1; else if (x < 1) y = x * x; else y = x * x * x; printf ("y = %d", y);}7、#include <>main(){ int x, y; printf ("x ="); scanf ("%d", &x); if (x < 0) y = x + 1; else if (x <= 2) y = x * x + 2; else y = x * x * x + 3; printf ("y = %d", y);}8、#include <>main(){ int x, y; printf ("x ="); scanf ("%d", &x); if (x < 1) y = x; else if (x <= 10) y =2 * x - 1; else y = 3 * x - 11; printf ("y = %d", y);}9、#include <>main(){ float score; char grade; printf ("please enter the score:"); scanf ("%f", &score); if (score > 100 || score < 0) \*判断成绩是否输入正确*\ { printf ("enter error!"); } if (score >= 90) grade = 'A'; else if (score >= 80) \*在这里的else if 语句条件中已经排除了在于等于90的情况,即此处等同于"score >= 80 && score < 90"*\ grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'E'; printf ("the grade is :%c", grade);}10、#include <>main(){ int n, price; printf ("please enter quantity:"); scanf ("%d", &n); if (n <= 10) price = 60; else if (n < 40) \* 此处方法与上题相同*\ price = 50; else price = 45; printf ("the total money is :%d", price * n);}11、#include <>#include <>main(){ int a, b,final; printf ("enter a,b:"); scanf ("%d%d", &a, &b); if (a % b == 0) final = a * a + b * b; else if ( b % a == 0) final = a * a * a + b * b * b; else final = abs(a - b); printf ("final = %d", final);}12、#include <>#include <>main(){ float a, b, f; printf ("enter a,b:"); scanf ("%f%f", &a, &b); if (a > b) f = fabs(a - b); else if (a < b) f = a * b; else f = ((int)a % 10) * ((int)b % 10); \*用强制转换将a、b转换成整数再除10求余即得个位数字*\ printf ("f = %.2f", f); }13、 #include <>#include <>main(){ int a, b, c, disc; int x1, x2,x; printf ("a,b,c="); scanf ("%d%d%d", &a, &b, &c); if (a == 0) { printf ("this is not a equation"); } else { disc = b * b - 4 * a * c; if ( disc > 0) { x1 = (- b + sqrt(disc)) / (2 * a); x2 = - b - sqrt(disc) / (2 * a); printf ("there are two deferent root:%d %d", x1, x2); } else { x = - b / ( 2 * a); printf ("there are two same root:%d", x); } }}14、#include <>main(){ int n; int n1, n2, n3; printf ("please enter a number:"); scanf ("%d", &n); if (n >= 100 && n <= 999) { n1 = n / 10;\*取出n的个、十、百各位数*\ n2 = (n - n1* 10) / 10; n3 = n % 10; if (n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3 == n)\* 判断个、十、百位平方和是否等于n *\ printf ("the number is shuixianhua digitale"); else printf ("the number is not shuixianhua digitale"); } else printf ("the number is not a 3 bit number");}15、#include <>main(){ enum workday {monday = 1, tuesday, wednesday, thursday, friday, saturday, sunday}; enum workday workdays; int n; printf ("please enter a days:"); scanf ("%1d", &n); if (n >= 1 && n <= 7) { workdays = (enum workday)n; switch(workdays) { case 1: printf ("moday"); break; case 2: printf ("tuesday"); break; case 3: printf ("wednesday"); break; case 4: printf ("thursday"); break; case 5: printf ("friday"); break; case 6: printf ("saturday"); break; case 7: printf ("sunday"); break; } } else printf ("enter error");} 16、#include <>main(){ int i, n; float t, s = 0; \* 用t 产生各项,s 为各项之和 *\ printf ("n = "); scanf ("%d", &n); for (i = 1; i <= n; i++) { t = / n; \* 因为n 是整数,在1后面加小数使得结果不至于为零*\ s = s + t; n = n + 2; } printf ("the addtion is :%f", s);}
wuyan841106
一.选择题(共15题,每题2分,共30分)1.定义结构体的关键字是().设整型变量a为5,使b不为2的表达式是()(--a)>3?2:13.下面哪一项是不正确的字符串赋值或赋初值的方法()*str;str=“china”;[7]={‘c’,‘h’,‘i’,‘n’,‘a’};[]=“china”,str2[]=“123”;[10];str1=“china”;4.以下对二维数组a进行正确初始化的是()[2][3]={{1,2},{3,4},{5,6}};[][3]={1,2,3,4,5,6};[2][]={1,2,3,4,5,6};[2][]={{1,2},{3,4}};5.选出下列标识符中不是合法的标识符的是().以下说法中正确的是()语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义语言程序总是从main()函数开始执行语言程序中的main()函数必须放在程序的开始部分7.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为().若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()*p;B.*p=*&j;;**p;9.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.‘a’<=c<=‘z’B.(c>=‘a’)||(c<=‘z’)C.(‘a’<=c)and(‘z’>=c)D.(c>=‘a’)&&(c<=‘z’)10.以下程序的输出结果是()main(){inta[]={1,2,3,4,5,6,7,8,9},*p;p=a;*(p+3)+=2;printf(“%d,%d\n”,*p,*(p+3));}.以下程序的输出结果是()main(){inta=5;floatx=;a*=x*(‘E’-‘A’);printf(“%f\n”,(float)a);}.以下程序的输出结果是()#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf(“%d\n”,c);}.定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是().下列程序段的输出结果是()voidmain(){intk;for(k=1;k<5;k++){if(k%2!=0)printf(“#”);elseprintf(“*”);}}A.#*#*B.*#*#C.##D.**15.下列程序执行后输出的结果是()intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}二.填空题(共7题,每空2分,共30分)1.数组inta[3][5];共定义了_______________个元素。2.有floatf=;则printf(“%”,f);输出的结果是_______________。3.下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。main(){inti;for(i=1;_______________;i++)if(_______________)printf("%d",i);}4.设有“intx=2,y”说明,则逗号表达式“y=x+5,x+y”的值是_______________5.以下是使用指针,进行字符串复制的程序,请填空。main(){chara[]=“TsinghuaUniversity”,b[30],*p1,*p2;p1=a;p2=b;for(;*p1!=‘_______________’;p1++,p2++)_______________=_______________;*p2=‘_______________’;printf(“stringais:%s\n”,a);printf(“stringbis:%s\n”,b);}6.下面程序用冒泡法对数组a进行降序排序,请填空。main(){inta[5]={4,7,2,5,1};inti,j,m;for(i=0;i<4;i++)for(j=0;j<_______________;j++)if(_______________<_______________){m=a[j];a[j]=a[j+1];a[j+1]=m;}for(i=0;i<5;i++)printf("%d",a[i]);}7.函数fun的功能是:使一个字符串按逆序存放,请填空。voidfun(charstr[]){charm;inti,j;for(i=0,j=strlen(str);i<_______________;i++,j--){m=str[i];str[i]=_______________;str[j-1]=m;}printf("therotatedstringis%s\n",_______________);}
优质考试培训问答知识库