1、编写一个程序。输出以下形式的前五行杨辉三角图案
#include<stdio.h>
#include<string.h>
int main(int argc,char*argv[])
{ int i,j,k;
int a[6][6]={0};
for( i=0;i<6;i++){
a[i][0]=1;
for( j=1;j<i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(i=0;i<6;i++){
for(j=0;j<6-i;j++){
printf(" ");
}
for(j=0;j<i;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
2、编写一个程序。对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a[]={3,2,10,1,23,15,82};
int i=0,j,max,t;
//依次获得每一位最大数
for(i;i<8;i++){
max=i;
for(j=i+1;j<8;j++){
if(a[j]>a[max]){
max=j; //记录此时最大值所在位置
}
}if(i!=max){
t=a[i], a[i]=a[max], a[max]=t;//把大值位置换到比较位置
}
//printf("%2d\n",a[i]);
}
for(i=0;i<8;i++){
printf("%2d\n",a[i]);}
return 0;
}
3、编写一个程序。假设你有一只刚出生的母兔,母兔第3年开始生小兔,以后每年生一只。如果生出的都是母兔,请代码实现:输入你拥有该母兔后的第几年,输出该年你拥有的兔子数。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int year, sum;
int i;
printf("请输入你有母兔几年了:");
scanf("%d",&year);
int a[year];
for(i=0;i<year;i++){
if(i==0||i==1){
a[i]=1;
}else{
a[i]=a[i-1]+a[i-2];
}
//printf("%5d",a[i]);
//if((i+1)%5==0){
//printf("\n");
//}
}
for(i=0;i<year;i++){
sum=a[i];
}
printf(" 一共拥有母兔数:%d",sum);
return 0;
}
4、编写一个程序。输入两个n行m列的矩阵A和B,输出他们的和A+B
5、编写一个程序。一个长度为10的数组中重复数据,现要求相同数据只保留一份,其他的用0来代替,被替换的数据移到数组末尾。(数组内容自定)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a[10]={5,5,6,5,8,7,6,9,7,3};
int b[10];
int i , j;
for(i=0;i<10;i++){
for(j=i+1;j<10;j++){
if(a[i]==a[j]){
a[j]=0;
}
}printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}
6、【选做题】编写一个程序。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值的那两个整数,并输出它们的数组下标。输入: nums = [3,2,4],target = 6 输出:[1,2]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int nums[]={6,1,3,5,7,2};
int target;
printf("请输入一个数:");
scanf("%d",&target);
int i ,j;
for(i=0;i<6;i++){
for(j=i+1;j<6;j++){
if(nums[i]+nums[j]==target){
printf("%d %d",nums[i],nums[j]);
}
}
}
return 0;
}