1.输入十个数,输出十个数
#include<iostream.h>
void main()
{
int i,x;
for(x=1;x<=10;x++)
{cin>>i;
cout<<i<<endl;
}}
2.一维问题
#include<stdio.h>
void main()
{int a[5];
int i;
for(i=1;i<=5;i++)
{scanf("%d",&a[i]);
printf("%3d",a[i]);
}}
3.输出1,4,9,16,25,36,49,64,81,100
#include<stdio.h>
void main()
{
int a[10];
int i;
for(i=1;i<=10;i++)
{
a[i]=i*i;
printf("%4d",a[i]);
}}
4.输入十个数,求和and最小数
#include<stdio.h>
void main()
{
int a[10],i,s,k;
for(i=0;i<=9;i++)
{scanf("%d",&a[i]);}
s=a[0];
k=0;
for(i=1;i<=9;i++)
{s=s+a[i];
if(a[i]<a[k])
{k=i;}
printf("s=%d\n,a[k]=%d\n",s,a[k]);
}
5. *将一个字符串逆序存放
#include<stdio.h>
#include<string.h>
void main(){
char s[20],t;
int i,j;
gets(s);
for(i=0;j=strlen(s)-1;i<j;i++;j--)
{t=s[i];s[i]=s[j];s[j]=t;}
puts(s);
}
6.输入五个数,逆序输出;
#include<stdio.h>
void main()
{
int i,a[5],k;
for(i=0;i<=4;i++)
{scanf("%d",&a[i]);}
for(i=0;i<5/2;i++)
{ k=a[i];a[i]=a[4-i];a[4-i]=k;}
for(i=0;i<=4;i++)
{printf("%d\n",a[i]);}
}
7.输入n个数,逆序输出;
#include<stdio.h>
#define n 5
void main()
{
int i,a[n],k;
for(i=0;i<=n-1;i++)
{scanf("%d",&a[i]);}
for(i=0;i<n/2;i++)
{ k=a[i];a[i]=a[n-1-i];a[n-1-i]=k;
}
for(i=0;i<=n-1;i++)
{printf("%d\n",a[i]);}}
8.(二维)两行三列 输出 012 234
#include<stdio.h>
void main()
{
int i,j,a[2][3];
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{a[i][j]=2*i+j;
printf("%4d",a[i][j]);
}
printf("\n");
// printf("%d\n"); %d的作用是输出数,没有数时用0代替;
} }
9.输入1,2,3,4,5,6,;
输出1 2 3
4 5 6
#include<stdio.h>
void main()
{int i,j,a[2][3]={1,2,3,4,5,6};
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{printf("%4d",a[i][j]);}
printf("\n");
} }
10.四行三列 (1)
#include<stdio.h>
void main()
{int i,j,a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
for(i=0;i<=3;i++)
{ for(j=0;j<=2;j++)
{printf("%4d",a[i][j]);}
printf("\n");
} }
11.四行三列 (2)
#include<stdio.h>
void main()
{int i,j,a[4][3];//i=行;j=列
for(i=0;i<=3;i++)
{for(j=0;j<=2;j++)
{a[i][j]=3*i+j;
printf("%4d",a[i][j]);}
printf("\n");
} }
12.求四行三列的最小值以及他的行和列
#include<stdio.h>
void main()
{int i,j,a[4][3]={{2,6,9},{-8,9,12},{5,-1,0},{8,6,23}},min,x,y;
min=a[0][0];
for(i=0;i<=3;i++)
for(j=0;j<=2;j++)
if(a[i][j]<min)
{ min=a[i][j];
x=i;y=j;}
printf("min=%d\n",min);
printf("hang=%d\nlie=%d\n",x,y);
}9.输入十个数,输出其中负数和正数的数量;
#include<stdio.h>
void main()
{int a[10],i,x=0,y=0,z;
for(i=0;i<=9;i++)
{scanf("%d",&a[i]);
if(a[i]<0)
x=x+1;
if(a[i]==0)
y=y+1; }
z=10-x-y;
printf("正数%d\n",z);
printf("负数%d\n",x);
printf("0:`%d\n",y);
}
10.同上 {(if;else if)比双if好,因为双if执行两次}
#include<stdio.h>
void main()
{int a[10],i,x=0,y=0,z=0;
for(i=0;i<=9;i++)
{scanf("%d",&a[i]);
if(a[i]<0)
x=x+1;
else if(a[i]==0)
y=y+1;
else
z=z+1; }
printf("正数%d\n",z);
printf("负数%d\n",x);
printf("0:`%d\n",y);
}
11.Fibonacci数的前二十项
#include<stdio.h>
void main()
{int i,f1=1,f2=1;
for(i=0;i<20/2;i++)
{printf("%6d%6d",f1,f2);
f1=f1+f2;
f2=f2+f1;
} }
12.Fibonacci数的前二十项 用一维数组表示
#include<stdio.h>
void main()
{int i,a[20];
printf("%d\n",1);
printf("%d\n",1);
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{a[i]=a[i-1]+a[i-2];
printf("%d\n",a[i]);
} }
13.有个排好序的数组,从键盘输入一个数,使得数组依然有序。2 5 8 9 13
#include<stdio.h>
void main()
{int a[6]=[2,5,8,9,12],i,j,x;
scanf("%d",&x);
for(i=0;i<=4;i++)
if(x<a[i])
break;
if(i>4)
a[5]=x;
else
{
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
}
for(i=0;i<=5;i++)
printf("%3d",a[i]);
printf("\n");
}14.定义一个五位的一维数组,从键盘输入并输出
#include<stdio.h>
void main()
{int i,a[5];
for(i=0;i<=4;i++)
{scanf("%d",&a[i]);
printf("%3d",a[i]);
} }
15.
#include<stdio.h>
void main()
{float i,j;
int a[4][3];
for(i=0;i<=3;i++)
{ for(j=0;j<=2;j++)
{scanf("%d",&a[i][j]);
printf("%3d",a[i][j]);}
printf("\n"); }
}
16.二维数组的初始化
#include<stdio.h>
void main()
{ int a[2][3]={1,2,3,8,9,6},i,j;
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n");
}}
17.此二维数组的初始化结果为{1,0,0},{8,9,0}
#include<stdio.h>
void main()
{int a[2][3]={{1},{8,9}},i,j;
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n");
}}
18.输出{1,2,3},{4,5,6}
#include<stdio.h>
void main()
{
int a[2][3],i,j,k=1;
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
{a[i][j]=k;k++;
}
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n");
}}
19.定义一个从键盘输入
#include<stdio.h>
void main()
{
int a[2][3],i,j,k=1;
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n");
}}
20.求一个3*3的图形的主对角线之和and副斜线之和
#include<stdio.h>
void main()
{int a[3][3]={1,2,3,4,5,6,7,8,9},i,j,k1=0,k2=0;
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n"); }
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ if(i==j)
k1=k1+a[i][j];
}}
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++){
if(i==2-j)
k2=k2+a[i][j];
}}
printf("主斜线%4d",k1);
printf("副斜线%4d",k2);
}
21.求一个3*3数列斜线上数字之和
#include<stdio.h>
void main()
{int a[3][3]={1,2,3,4,5,6,7,8,9},i,j,k1=0;
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n"); }
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ if(i==j||i==2-j)
k1=k1+a[i][j];
}}
printf("斜线%4d",k1);}
22.输出一个3*3的数列赋初值,再输出一个数列使得负数变为0;
#include<stdio.h>
void main()
{int a[3][3]={1,2,-3,4,5,0,7,8,9},i,j;
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ printf("%4d",a[i][j]);}
printf("\n"); }
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
{ if(a[i][j]<0)
a[i][j]=0;
printf("%4d",a[i][j]);}
printf("\n");
} }
23.字符组的初始化形式 输出结果为good morning!
#include<stdio.h>
void main()
{
char s[20]={"good morning!"};
puts (s);
}24。输入10个数判断正数和负数的个数:
# include<stdio.h>
int main()
{
int a[10],i,n=0,m=0;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
{if(a[10]>0)
{m=m+1;}
else if(a[i]<0)
{n=n+1;}
printf("%d",m);
printf("%d",n);
}return 0;}
25.输入一个数判断该数在2,5,8,9,12的位置
#include<stdio.h>
void main()
{
int a[6]={2,5,8,9,12},i,j,x;
scanf("%d",&x);
for(i=0;i<=5;i++)
if(a[i]>x)break;
if(i>4)
a[5]=x;
else
{for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
}for(i=0;i<=5;i++)
printf("a[i]=%d\n",a[i]);
}26。输入十个数,输出其中负数和正数的数量;
#include<stdio.h>
void main()
{
int a[10],i,x=0,y=0,z;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
if(a[i]<0)
x=x+1;
if(a[i]==0)
y=y+1;
}
z=10-x-y;
printf("正数%d\n",z);
printf("负数%d\n",x);
printf("0:`%d\n",y);
}27。#include<stdio.h>
#include<iomanip.h>
int main()
{
int i,f[20]={1,1};
for(i=2;i<=9;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<=19;i++)
{if(i%5==0)
printf(" ");
printf("f[i]=%d",f[i]);
}return 0;}
28。#include<stdio.h>
#define N 4
#include<iomanip.h>
int main()
{int i,j,a[N][N];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=i*i+j;
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("a[i][j]=%d",a[i][j);printf("\n");
}
return 0;
}29。从键盘输入9个数字,三行三列
#include<stdio.h>
int main()
{int i,j,a[3][3];
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{scanf("%d",&a[i][j]);}}
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{if(i==0||j==0)
{printf("%d",a[i][j]);}}
printf("\n");
}return 0;}
30。输入一个字符串,只输出第一个数组
int main()
{
char st[20];
cout<<"input string:";
cin>>st;
cout<<st;
return 0;}
31。#include<iostream.h>
int main()
{
int a[10],i,k=0,s=0,l=0,m=0;
for(i=0;i<=9;i++) cin>>a[i];
for(i=1;i<=9;i++)
{if(a[i]>0) {l++;}
else if(a[i]<0) {m++;}
}
k=k+l;
s=s+m;
cout<<m<<"\n"<<l<<"\n";
return 0;
}32。字符串输出函数good
#include<stdio.h>
nt main()
{
char st1[]={'g','o','o','d'};
puts(st1);
return 0;
33..#include<stdio.h>
int main()
{
char st1[]="dood";
puts(st1);
return 0;}
34.五行四列
#include<stdio.h>
void main()
{int i,j,a[5][4];//i=行;j=列
for(i=0;i<=4;i++)
{for(j=0;j<=3;j++)
{a[i][j]= i+j;
printf("%4d",a[i][j]);}
printf("\n");
} }
35.从键盘输入25个数字,五行五列,输出第一行和第一列
#include<stdio.h>
int main()
{int i,j,a[5][5];
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
{scanf("%d",&a[i][j]);}}
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
{if(i==0||j==0)
{printf("%d",a[i][j]);}}
printf("\n");}return 0;}
36。用冒泡法对10个数从小到大排列
#include<iostream.h>
#include<iomanip.h>
int main()
{int a[10],i,j,t;
cout<<"input 10 numbers:\n";
for(i=0;i<10;i++)
cin>>a[i];
for(j=1;j<=9;j++)
for(i=0;i<=9-j;i++)
if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}
cout<<"the sorted numbers:\n";
for (i=0;i<10;i++)
cout<<setw(4)<<a[i];
cout<<"\n";
return 0;}
37.#include<stdio.h>
#include<string.h>
int main()
{char s[20],t;
int i,j;
gets(s);
for(i=0,j=strlen(s)-1;i<j;i++,j--){t=s[i];s[i]=s[j];s[j]=t;}
puts(s);
return 0;
38.
#include<stdio.h>
int main()
{int a[4]={1,2},i;
for(i=0;i<=3;i++)
printf("%3d",a[i]);
return 0;}
39.输入十个数,输出其中负数和正数的数量;
#include<stdio.h>
void main()
{int a[10],i,x=0,y=0,z;
for(i=0;i<=9;i++)
{scanf("%d",&a[i]);
if(a[i]<0)
x=x+1;
if(a[i]==0)
y=y+1; }
z=10-x-y;
printf("正数%d\n",z);
printf("负数%d\n",x);
printf("0:`%d\n",y);
}
40.同上 {(if;else if)比双if好,因为双if执行两次}
#include<stdio.h>
void main()
{int a[10],i,x=0,y=0,z=0;
for(i=0;i<=9;i++)
{scanf("%d",&a[i]);
if(a[i]<0)
x=x+1;
else if(a[i]==0)
y=y+1;
else
z=z+1; }
printf("正数%d\n",z);
printf("负数%d\n",x);
printf("0:`%d\n",y);
}43.杨辉三角(异形):
#include<stdio.h>
void main()
{int a[10][10],i,j;
for(i=0;i<=9;i++)
{a[i][0]=1;
a[i][i]=1;}
for(i=2;i<=9;i++)
for(j=1;j<=i-1;j++) a[i][j]=a[i-1][j]+a[i-1][j-];
for(i=0;i<=9;i++)
{for(j=0;j<=i;j++) printf("%-4d",a[i][j]);
printf("\n");}}
44.3*3的魔方阶层!
#include<stdio.h>
void main()
{int a[3][3],i,j,k;
i=0;
j=1;
for(k=1;k<=9;k++)
{a[i][j]=k;
if(k%3==0)
{i=i+1;}
else
{i=i-1;
j=j+1;
if(i<0)
i=2;
if(j>2)
j=0;}}
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
printf("%4d",a[i][j]);
printf("\n");}}
45.5*5的魔方阶层(通用)
#include<stdio.h>
#define N 5
void main()
{int a[N][N],i,j,k;
i=0;
j=1;
for(k=1;k<=N*N;k++)
{a[i][j]=k;
if(k%N==0)
{i=i+1;}
else
{i=i-1;
j=j+1;
if(i<0)
i=N-1;
if(j>N-1)
j=0;}}
for(i=0;i<=N-1;i++)
{for(j=0;j<=N-1;j++)
printf("%4d",a[i][j]);
printf("\n");}}
45.I love you too!
#include<stdio.h>
void main()
{
char s[10];
int i;
for(i=0;i<10;i++)
scanf("%c",&s[i]);
for(i=0;i<10;i++)
printf("%c",s[i]);
printf(" too\n");
}
46.字符串的应用
#include<stdio.h>
void main()
{
char s[10];//最多输入十个
scanf("%s",s);
printf("%s\n",s);
}
47.gets(s);puts(s);的应用
#include<stdio.h>
void main()
{
char s[10];
gets(s);
puts(s);}
48.输入一个字符串,判断有几个小写字母,大写字母,数字和空格
(此题最好输入19个以内的数,
#include<stdio.h>
void main()
{
char s[20];
int i,a=0,b=0,c=0,d=0;
gets(s);
for(i=0;i<=19;i++)//=for(i=0;s[i]!=\0;i++)
{
if(s[i]>='a'&&s[i]<='z')
a++;
else if(s[i]>='0'&&s[i]<='9')
c++;
else if(s[i]>='A'&&s[i]<='Z')
b++;
else if(s[i]==' ')
d++;
else if(s[i]=='\0')
break;
}
printf("小写字母=%d\n""大写字母=%d\n""数字=%d\n""空格=%d\n",a,b,c,d);
}
49.将字符串中的所有大写字母改为相应的小写字母
#include<stdio.h>
void main()
{
char s[20];
int i;
gets(s);
for(i=0;i<=19;i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+32;
}
puts(s);
}
50.将两个字符串连接在一起
#include<stdio.h>
#include<string.h>
void main()
{
char s1[20],s2[20];
gets(s1);
gets(s2);
strcat(s1,s2);
puts(s1);
}
C language summary chapter exercises (50)
Guess you like
Origin blog.csdn.net/helo_world01/article/details/104234372
Recommended
Ranking