A. c语言循环编程题目
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,gao = 5; //定义一长串变量(gao变量的赋值是看你的图定义的
//如果想改变高度就改变gao的值
for(a = 0;a <= gao ;++a)
{
for(b = 0;b < (gao-a);b++) //循环打印空格
{printf(" ");}
for(c = 0;c < 2*(a-1)+1;c++) //循环打印*
{printf("*");}
printf("\n"); //每行结尾带个换行
}
system("pause");
return 0;
}
B. c语言编程题,用for循环!急急急
#include<stdio.h>
int main()
{
int hg,bhg;
for(hg=1;hg<2000;hg++)
for(bhg=0;bhg<2000;bhg++)
if(hg*5-bhg*18==9931){
printf("%d",hg);
}
return 0;
}
C. C语言循环结构程序设计题
(1)用while语句实现
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
(2)用do-while语句实现
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
do
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
while(m!=n)
printf("最大公约数为:%d\n",m);
}
(3)用for语句实现
#include<stdio.h>
void main()
{
int m,n,j;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
for(i=0,i++,i<m)
{
if(m==n)
break;
else
{
if(m>n)m=m-n;
else n=n-m;
}
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
D. 我想要一套关于c语言循环语句的习题,不知哪位大侠有,希望帮帮忙,救急啊!!!先谢了
for语句格式为:
循环语句
for(表达式1;表达式2;表达式3)
循环语句语句:/*循环体*/
该语句执行过程如下:
①先对表达式1赋初值;
②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。
while语句格式为:
while(表达式)
语句;/*循环体*/
这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句。
do while语句格式为:
do
语句;/*循环体*/
While(表达式);
程序进入do while循环后,先执行循环体内语句,然后判断表达式的真假,若为真则进行
下一次循环,否则为假则终止循环。该循环语句的特点是,表达式为假时也执行一次循环体
内语句。
1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是 ( )A while循环执行10次 B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次
2.设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x;printf("%d",s) ;则( )A 运行程序段后输出0 B 运行程序段后输出1 C 程序段中的控制表达式是非法的 D 程序段执行无限次
3、语句while(!E);中的表达式!E特等价于()A、E==0B、E!=1C、E!=0D、E==1
4、下面程序段的执行结果是( )a=1;b=2;c=2;while(a<b<c ) {t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A、1,2,0 B、2,1,0 C 、1,2,1 D、2,1,1
5、下面程序段的运行结果是( )x=y=0;while(x<15) y++,x+=++y;printf("%d,%d",y,x);A、20,7 B、6,12 C、20,8 D 8,20
6、下面程序段的运行结果是( )int n=0;while (n++<=2); printf("%d",n);A,2 B、3 C、4 D 有语法错误
7、设有程序段t=0;while(printf("*")){t++; if(t<3) break;}下面描述正确的是( )A、其中循环控制表达式与0等价B、其中循环控制表达式与’0‘等价C 、其中循环表达式是不合法的D、以上说法都不对
8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等的数时结束循环,请选择填空。main(){int a,b,t;scanf(“%d,%d”,&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);scanf(“%d,%d”,&a,&b);}}A、!a=b B、a!=b C、a==b D、a=b
9、下面程序的功能是从键盘输入的一组字符中统计出大写字母个数m和小写字母个数n,并输出m,n中较大者,请选择填空。#include<stdio.h>main( ){int m=0,n=0;char c;while((__)!=’\n’){if(c>=’A’&&c<=’Z’) m++;if(c>’a’&&c<=’z’) n++;}printf(“%d\n”,m<n?___);}A. c==getchar() B.getchar() C.c=getchar() D.scanf(“%c”,c)A. n:m B.m:n C.m:m D.n:n
10、下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,Z变成B。填空#include<stdio.h>main(){char c;while((c=getchar( ))!=’\n’){if(c>=’a’&&c<=’z’){_______;if(c>=’Z’&&c<=’Z’+2)___________;}printf(“%c”,c);}A.c+=2 B.c-=32 C.c=c+32+2 D.c-=30A.c=’B’ B.c=’A’ C.c-=26 D.c=c+26
11,下面程序的功能是在输入的一批正整数中求出最大者,输入0时结束,请选择填空main( ){int a,max=0; scanf(“%d”,&a);while(____){if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max);}A.a==0 B.a C!a==1 D.!a
12、下面程序的运行结果是( )main( ){int num=0;while(num<=2){num++; printf(“%d\n”,num);}A.1 B.1<CR>2 C.1<CR>2<CR>3 D.1<CR>2<CR>3<CR>4
13.若运行以下程序时,从键盘输入2473<CR>,则下面程序的运行结果是()#include<stdio.h>main( ){int c;while((c=getchar( ))!=’\n’)switch(c-‘2’){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;}printf(“\n”);}A.668977 B.668966 C.66778777 D.6688766
14.C语言中while和do-while循环的主要区别是( )A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do–while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句
15 .以下程序段()x=-1 do{x=x*x;}while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误
16、以下描述中正确的是( )A.由于do -while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。B.do-while循环由do开始,且while结束,在while(表达式)后面不能写分号。C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。D.do-while循环中,根据情况可以省略while
17.若有以下语句int x=3;do{print("%d\n",x-=2);} while(!(--x));则上面程序段()A.输入的是1 B.输出的是1和-2 C.输出的是3和0 D.死循环
18.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环,填空。main(){long int num;scanf("%ld",&num);do{if(_____) printf("%ld,num);scanf("%ld",&num);}while(______);}A.num%100/10==3 .Bnum/100%10==3 C.num%10/10==3 D.num/10%10==3A.!num B.num>0==0 C.!num==0 D.!num!=0
19.下面程序的运行结果是( )#include<stdio.h>
main( )
{int y=10;
do {y--;}while(--y);
printf(“%d\n”,--y);}
A .-1 B.1 C.8 D.-8
20.若运行以下程序时,从键盘输入ADescriptot<CR>(<CR>表示回车),下面程序的运行结果是
#include<stdio.h>
main( )
{char c;
int v0=0,v1=0,v2=0;
do{
switch(c=getchar( ))
{case ’a’:case ’A’:
case ’e’:case’E’:
case ’i’:case ’I’:
case ’o’:case ’O’:
case ’u’:case ’U’:v1+=1;
default:v0+=1;v2+=1;}
}while(c!=’\n’);
printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}
A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8
C)v0=11,v1=4,v2=11 D)v0=12,v1=4,v2=12
21.下面程序的运行结果是
#include<stdio.h>
main( )
{int a=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d\n”,a,b);}
a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9
22.下面有关for循环的正确描述是( )A.for循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须花括号括起来
23.对for(表达式1;; 表达式3)可理解为( )A.for(表达式1;0; 表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)
24.若i为整型变量,则以下循环执行的次数是( )for(i=2;i=0;) printf(“%d”,i--)A.无限次 B.0次 C.1次 D.2次
25.以下for循环的语句是( )for(x=0,y=0;(y=123)&&(x<4);x++);A.是无限循环 B.循环次数不定C.4次 D.3次
26.以下不是无限循环的语句是( )A.for(y=0,x=1;x>++y;x=I++) I=x;B.for(; ;x++=I);C.while(1) {x++;}D.for(I=10; ;I--) sum+=I;
27.以下程序段的运行结果是( )for (y=1;y<10;) y=((x=3*y,x+1),x-1);printf(“x=%d,y=%d”,x,y);A. x=27,y=27 B.x=12,y=13 C.x=15,y=14 D.x=y=27
28. 下面程序段的运行结果是____
for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);
a)**3 b)##3 c)##3 d)**3##4
##4 **4 **4##5 **5
**5 ##5
29.下列程序段不是死循环的是( )A. int I=100 while(1){I=I%100+1;if(I>100)break;}B. for(;;)C. int k=0;do{++k;}while(k>=0);D.int s=36; while(s); --s;30.执行语句for(I=1;I++<4;);后变量I的值是()A.3; B.4 C.5 D.不定
E. 简单C语言循环语句编程题目!
发一下本人的拙见!(半夜做的也不知道对不!)
int peach(int n)//该函数返回桃子总数,n为天数
{
if( 10==n )
return 1;
else
return ( peach(n+1)+ 1) * 2 ;
}
int main(void)
{
printf("第%d天的桃子数为: %d\n", 1, peach( 1 ) );
int total=1;//桃子总数
for(int i=10; i>1; i--)
{
total = (total+1)*2;
}
printf("桃子的总数为: %d\n", total);
return 0;
}
F. c语言循环编程题
#include<stdio.h>
#include<stdlib.h>
int main()
{
int lower,upper;
scanf("%d %d",&lower,&upper);
printf("fahr celsius\n");
for(int i=lower;i<=upper;i++)
{printf(" %d ",i);
if((1.0*(i-32)*5/9)>=0)
printf(" %.1f\n",1.0*(i-32)*5/9);
else
printf("%.1f\n",1.0*(i-32)*5/9);
}
//system("pause");
}
注意公式:(华氏温度-32)*5/9=摄氏温度
已经按格式给你处理了答案
G. C语言循环程序大题求解答!!!
题目不错, 但是楼主首先要清楚一个概念, 就是C语言中基本数据类型保存的数据精度是相当有限的,其中整数是很容易溢出的(在你的题目中) , 所以只能用double求个大概值出来.
代码如下(刚写的,求楼主加分!!)
#include <stdio.h>
#include <string.h>
#include <windows.h>
//1、编程求分数序列2/1, 3/2, 5/3, 8/5, 13/8...的前50项的和。要求保留尽可能高的运算精度。
double solve1 () {
double a = 1.0 , b = 2.0 , res = 0.0 ;
for(int i = 0 ; i < 50 ; i++) {
res += b / a ;
double c = a + b ;
a = b ;
b = c ;
}
return res ;
}
int main() {
printf("%lf\n" , solve1()) ;//
system("pause") ;
return 0 ;
}
#include <stdio.h>
#include <string.h>
#include <windows.h>
//2、编程按下列的级数求COS(X)的值并输出:
//COS(X)=1-X2/2!+X4/4!-X6/6!+......
//要求:x的值由键盘输入(代表弧度),运算精度保持到最后一项的绝对值小于10的负6次为止。
double solve2 (double x) {
static const double eps = 1e-6 ;
double res = 0.0 ;
double s = 1.0 , a = 1.0 , b = 1.0 , i = 1.0 , y = s * a / b ;
while(y >= eps || y <= -eps) {
res += y ;
s = -s ;
a = a * x * x ;
b = b * i * (i + 1) ;
i = i + 2 ;
y = s * a / b ;
}
return res ;
}
int main() {
double x ;
while(scanf("%lf" , &x) == 1) {
printf("%lf\n" , solve2(x)) ;
}
system("pause") ;
return 0 ;
}
其它两个已经写完了,楼主加分就给哦 :)
H. C语言循环程序大题
第一题,写了一点代码,但是结果很离谱,误差挺大的,仅供参考
#include <stdio.h>
#include <math.h>
double _cos(double x);
int main(int argc, char *argv[])
{
float x;
printf("plesae input x: \n");
scanf("%g", &x);
printf("cos(%g) = %g\n", x, _cos(x));
}
int factorial(int n)
{
if(n <= 1)
return 1;
n *= factorial(n - 1);
return n;
}
double _pow(double x, int n)
{
int i;
double tmp, result;
tmp = x;
result = 1.0;
for(i = 0; i < n; i++)
{
result *= x;
if(fabs(result- tmp) < 1e-10)
break;
tmp = result;
}
return result;
}
double _cos(double x)
{
int i;
double result, tmp, forhead;
i = 1;
result = 1.0;
forhead = 0.0;
while(fabs(forhead - result) > 1e-6)
{
forhead = result;
tmp = _pow(x, 2*i) / (double) factorial(2*i);
if(i % 2 == 0)
result += tmp;
else
result -= tmp;
if(tmp < 1e-10)
break;
i++;
}
return result;
}
I. C语言编程题(有关二维数组的循环的)
#include <stdio.h>
main()
{
int a[10][5]; /*a表示10个学生的5门成绩*/
int i,j;
int sum,avg;
char b[5][10]={"课程1","课程2","课程3","课程4","课程5"};
for(i=0;i<10;i++){
printf("\n请输入第%d个学生的成绩 (%s)\n",i+1,b);
for(j=0;j<5;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<10;i++){
printf("第%d个学生的总分是:%d\n",i+1,zong(i,a));
}
for(i=0;i<5;i++){
printf("%s的平均分是%d\n",b[i],pingjun(a,i));
}
for(i=0;i<5;i++){
printf("%s课的最高分是%d,学生是第%d个\n",b[i],a[check(a,i)][i],check(a,i));
}
getch();
}
int zong(int index,int x[10][5]){ /*计算index个学生的总分*/
int sum=0,j;
for(j=0;j<5;j++){
sum+=x[index][j];
}
return sum;
}
int pingjun(int x[10][5],int index){ /*计算第index门课程的平均分*/
int sum=0,i;
for(i=0;i<10;i++){
sum+=x[i][index];
}
return sum/10;
}
int check(int x[10][5],int index){ /*找其第index门课的最高分*/
int max,i,count;
max=x[0][index];
count=0;
for(i=0;i<10;i++){
if(max<=x[i][index]){
max=x[i][index];
count=i;
}
}
return count;
}
我有1年没有学C了,现在学的是java和jsp,所以还有一些印象,不知道对不对,你的第3问我是找的每门课程的最高分,不知道你问的是不是这样,要是问的所有分中的最高分,你比较5门就可以了
恩,我用win-tc写的,如果用vc,直接删除getch()就可以了
J. c语言编程题,用循环语句
#include<stdio.h>
int main(void)
{
int i,n;
double s=1;
printf("Please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
printf("s=%.2f
",s);
return 0;
}