1、题目要求:
输入一组数的5个元素,并依次往后移一个位置,再将第5个数据放在第一个存储单元
#include <stdio.h>
#include <stdlib.h>
#define N 5
/*输入一组数的5个元素,并依次往后移一个位置,再将第5个数据放在第一个存储单元*/
int main()
{
int i,j;
int temp; //一个中间变量,用于保存第5个数据
int nums[N];
for(i=0;i<N;i++){
printf("请输入第%d个元素:",i+1);
scanf("%d",&nums[i]);
}
temp = nums[N-1]; //保存好第5个数值
printf("打印出来的结果为:\n");
for(i=0;i<N;i++)
{
printf("%-8d",nums[i]);
}
for(i=N;i>0;i--){
nums[i] = nums[i-1]; //把前一个元素给后面一个元素覆盖
}
nums[0] = temp; //把第5个数值赋值后 方便下面打印
printf("\n**************\n最后的结果为:\n");
for(i=0;i<N;i++)
{
printf("%-8d",nums[i]);
}
return 0;
}
2、题目要求
求具有10个元素的一维数组中正数,负数和0的个数
#include <stdio.h>
#include <stdlib.h>
#define N 10
/*求具有10个元素的一维数组中正数,负数和0的个数*/
int main()
{
int i;
int nums[N];
int count1=0,count2=0,count3=0; //计数器
printf("首先,输入十个元素:");
for(i=0;i<N;i++){
scanf("%d",&nums[i]);
if(nums[i] == 0){
count1++;
}
else if(nums[i] > 0){
count2++;
}
else
count3++;
}
printf("\n************************\n最后的结果为:\n");
printf("正数有%d个.",count2);
printf("负数有%d个.",count3);
printf("是0的数%d个.",count1);
return 0;
}
3、题目要求
利用数组计算斐波那契数列的前20个数,并以每行5个数输出
#include <stdio.h>
#include <stdlib.h>
#define N 20
int main()
{
int i;
int nums[N];
nums[0] = 1;
nums[1] = 1;
for(i=2;i<N;i++){
nums[i] = nums[i-1] + nums[i-2]; //需要满足的关系式
}
printf("\n最后的结果为:\n");
for(i=0;i<N;i++){
printf("%d",nums[i]);
if( 0 == (i+1)%5){
printf("\n");
}
else{
printf("\t");
}
}
return 0;
}