1、输入5个double类型的数据,计算最大值、最小值、最大值的位置、最小值的位置
#include <stdio.h>
int main(int argc, const char *argv[])
{
double s[5],max,min;
int maxpos,minpos;
int i;
for(i=0;i<5;i++){
scanf("%lf",&s[i]);
}
max = min = s[0];
for(i=0;i<5;i++){
if(s[i]>max){
max=s[i];
maxpos=i+1;
}
if(s[i]<min){
min=s[i];
minpos=i+1;
}
}
printf("最大值是%.2lf,在第%d位置\n最小值是%.2lf,在第%d位置\n",max,maxpos,min,minpos);
return 0;
}
结果为:
2、输入数组长度n,输入n个数据,存到一维数组,降序排序,打印
#include <stdio.h>
int main(int argc, const char *argv[])
{
int s[1000];
int n,i,j,t,count;
printf("请输入n个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&s[i]);
}
for(i=1;i<n;i++){
count=0;
for(j=0;j<n-i;j++){
if(s[j]<s[j+1]){
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
count++;
}
}
if(count==0){
break;
}
}
for(i=0;i<n;i++){
printf("%d\t",s[i]);
}
printf("\n");
return 0;
}
结果为
3、斐波那契(1 1 2 3 5 8...)
#include <stdio.h>
int main(int argc, const char *argv[])
{
int s[100];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++){
if(i==0||i==1){
s[i]=1;
}else{
s[i]=s[i-1]+s[i-2];
}
printf("%d\n",s[i]);
}
return 0;
}
结果为
4、二维数组的输入输出
#include <stdio.h>
int main(int argc, const char *argv[])
{
int m,n,i,j;
int s[100][100];
printf("请输入行列:\n");
scanf("%d%d",&m,&n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&s[i][j]);
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%d\t",s[i][j]);
}
printf("\n");
}
return 0;
}
结果为
5、杨辉三角
打印:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j;
int s[100][100];
for(i=0;i<5;i++){
for(j=0;j<=i;j++){
if(j==0 || i==j){
s[i][j]=1;
}else{
s[i][j]=s[i-1][j-1]+s[i-1][j];
}
printf("%d\t",s[i][j]);
}
printf("\n");
}
return 0;
}
结果为
6、二维数组的最大值最小值
#include <stdio.h>
#define N 2
#define M 3
int main(int argc, const char *argv[])
{
int s[N][M],i,j,max,min;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
scanf("%d",&s[i][j]);
}
}
min=max=s[0][0];
for(i=0;i<N;i++){
for(j=0;j<M;j++){
if(s[i][j]>max){
max=s[i][j];
}
if(s[i][j]<min){
min=s[i][j];
}
}
}
printf("最大值是%d\n最小值是%d\n",max,min);
return 0;
}
结果为