1、定义一个一维数组 int a= [1,2,3,4,5,6,7,8]
(1) 求一维数组的长度
(2) 并将所有奇数下标元素自乘 3,偶数下标元素自增 2.
输出变化后的数组
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[]={1,2,3,4,5,6,7,8};
int i;
printf("长度%d.\n",(int)(sizeof(a)/sizeof(int)));
for(i=0;i<8;i++){
a[i]=(i%2==1)?a[i]*3:a[i]*2;
printf("%-3d",a[i]);
}
putchar(10);
return 0;
}
2、定义一个整形数组,容量5,终端输入五个数存在数组中,然后在到终端输入一个数a,判断a是否存在于我的这个数组,存在打印存在,不存在打印不存在。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[5]={0};
int a,i;
for(i=0;i<5;i++){
printf(":");
scanf(" %d",&arr[i]);
}
printf("输入a:");
scanf(" %d",&a);
for(i=0;i<5;i++){
if(a==arr[i]){
printf("存在\n");
return 0;
}
}
printf("不存在\n");
return 0;
}
3、定义一个数组,终端输入最值、平局值、和
#include <stdio.h>
int main(int argc, const char *argv[])
{
int n,max,min,sum,i;
float ave;
printf("输入数组长度:");
scanf(" %d",&n);
if(n==0){
return 0;
}
int arr[n];
printf("0:");
scanf(" %d",&arr[0]);
max=min=sum=arr[0];
for(i=1;i<n;i++){
printf("%d:",i);
scanf(" %d",&arr[i]);
if(max<arr[i])
max=arr[i];
if(min>arr[i])
min=arr[i];
sum+=arr[i];
}
ave = (float)sum/(float)n;
printf("最大值:%d\n最小值:%d\n平均值:%.2f\n和:%d\n",max,min,ave,sum);
return 0;
}
4、整形数组逆置
#include <stdio.h>
int main(int argc, const char *argv[])
{
int n,i;
printf("数组长度:");
scanf(" %d",&n);
if(n==0){
return 0;
}
int arr[n],brr[n]; // brr[n]输出对照
for(i=0;i<n;i++){
printf(":");
scanf(" %d",&arr[i]);
brr[i]=arr[i];
}
for(i=0;i<n/2;i++){
arr[i]+=arr[n-1-i];
arr[n-1-i]=arr[i]-arr[n-1-i];
arr[i]-=arr[n-1-i];
}
for(i=0;i<n;i++){
printf("%-3d%d\n",brr[i],arr[i]);
}
return 0;
}
5、我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
/* 5*x+3*y+(100-x-y)==100
* y=(100-7x)/4
* ->(100-7x)%4==0
* x in [0,20]
* */
#include <stdio.h>
int main(int argc, const char *argv[])
{
int x;
for(x=0;x<=20;x++){
if((100-7*x)%4==0&&(100-7*x)/4>=0){
printf("翁:%-3d母:%-3d雏:%d\n",x,(100-7*x)/4,100-x-(100-7*x)/4);
}
}
return 0;
}
6、键盘输入三个数使用if_else分支控制语句判断输入的数是否能构成三角形,构成的三角形是等边、直角还是普通三角形。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a,b,c;
printf("输入边:");
scanf(" %d %d %d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a){
if(a==b&&b==c){
printf("等边");
}else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
printf("直角");
}else{
printf("普通");
}
printf("三角形\n");
}else{
printf("不构成三角形\n");
}
return 0;
}
7、买一件上衣59元,买一件裤子70元,如果成套买的话,一套120.假设我买了m个上衣和n个裤子,问:需要花多少钱?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int m,n,pay;
printf("衣服:");
scanf(" %d",&m);
printf("裤子:");
scanf(" %d",&n);
if(m>n){
printf("需要花:%d元\n",n*120+(m-n)*59);
}else{
printf("需要花:%d元\n",m*120+(n-m)*70);
}
return 0;
}