输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示数据输入结束。要求最后统计出累加的项数。
逻辑结构程序设计
1.实验目的
①了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
②学会正确使用逻辑运算符和逻辑表达式。
③熟练掌握if语句和switch语句。
④结合程序掌握一些简单算法。
⑤学习调试程序。
2.实验内容
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
3.程序编写
①下面程序实现:输入三个整数,按从大到小的顺序进行输出。请在if后的()内填入正确内容。
main()
{int x,y,z,c;
scanf("%d%d%d",&x,&y,&z);
if( )
{c=y;y=z;z=c;}
if( )
{c=x;x=z;z=c;}
if( )
{c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}
②以下程序实现:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母:其他字符不变。请在()内填入正确内容。
main()
{char ch;
scanf("%c",&ch);
if( )ch=ch+32;
else if(ch>='a'&&ch<='z')( )
printf("%c",ch);
}
③试编程判断输入的正整数是否既是5的整数倍又是7的整数倍。若是,则输出yes;否则输出no。
④编程实现:有3个整数a,b,c,由键盘输入,输出其中最大的数。
⑤给出100分制成绩,要求根据成绩的多少,输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。用switch语句进行编程。
找最值 题目内容: 从键盘任意输入6个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示: int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标 int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标 程序运行结果示例: Input 10 numbers: -1 2 3 45 92 8 9 ↙ Max=92,Position=4,Min=-1,Position=0 输入格式: "%d" 输出格式: 提示信息:"Input 6 numbers:\n" 输出结果:"Max=%d,Position=%d,Min=%d,Position=%d\n"
编程产生输入三个0~100之间(包含0和100)的随机数a、b和c,要求实现 (1)至少使用两种不同的方法,将三个数字按从小到大的顺序排序。 (2)计算输出三个数的和与平均值。 输出效果如下(其中a、b和c的值随机生成): 原始值: a=97, b=89, c=99 (方法一)升序值: a=89, b=97, c=99 (方法二)升序值: a=89, b=97, c=99 三个数值的和=285 ,平均值= 95 提示: (1)可使用比值法或求最大最小值函数等多种方法 (2)随机数生成可以使用 import random random.randint(0,100) 来生成0~100之间的随机整数。
循环控制
1.实验目的
①熟悉掌握用while语句,do-while语句和for语句实现循环的方法。
②掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
③进一步学习调试程序。
2.实验内容
编程序并上机调试运行。
①逐个检查1到200的所有整数,求1到200之间的完全平方数。
②判断一个整数是否为素数。
③由标准输入读一行字符,输出各个字符的编码。
④统计由标准输入得到的文件中字符的个数。
⑤统计输入数据的个数,找出其中的最小值和最大值。
⑥分别统计输入文件中的空格、行、数字、花括号以及其他所有字符的个数。
⑦打印Fibonacci序列前30个数。
⑧填出下列程序的运行结果。
main()
{int k=0;char c='A';
do
{ switch(c++)
{case'A':k++;break;
case'B':k--;
case'c':k+=2; break;
case'D':k=k%2; contlnue;
case'E':k=k*10;break;
default:k=k/3;
}
k++;
}
while(c<'G');
prinff("k=%d\n",k);
}
⑨若运行以下程序时,从键盘输入3.6 2.4<CR> (<CR>表示回车),写出程序的运行结果。
#include<math.h>
main()
(float x,y,z;
scanf("%f%f",&x,&y);
z=x/y
while(1)
{if(fabs(z)>1.0) {x=y;y=z:z=x/y:}
else break;
}
printf("%f\n",y);
}
⑩编写程序,从键盘输入6名学生的5门成绩,分别求出每个学生的平均成绩,并依次输出。
编程求1!+2!+3!+4!+……………+19!+20!。
找出1000之内的所有完数。
输出9*9口诀。
打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,冈为153=13+53+33。
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求猴子第一天共摘了多少个桃子。
要求编写程序使得在屏幕上输出如下图形。
A.接受用户输入的整数N,判断N是否是素数并输出结论
B.接受用户输入的整数N,判断N是否是水仙花数
C.接受用户输入的整数N,判断N是否是完数并输出结论
D.接受用户输入的整数N,输出N的阶乘值