求下标的奇偶和![](https://img-blog.csdnimg.cn/direct/1d355f780c59484fbc6904d7c4d5d2fd.png)
代码
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int arr[]={3,5,6,8,3,1,2,4,5};
int jisum = 0,ousum = 0;
int i = 0;
for(i = 0;i < sizeof(arr)/sizeof(i);i++){
if(i % 2 == 0)
{
ousum += arr[i];
}
else
{
jisum += arr[i];
}
}
printf("下标的偶数和为=%d,奇数和为=%d\n",ousum,jisum);
return 0;
}
效果
有1,2,3,4个数字,能组成多少互不重复的三位,都是多少
代码
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int arr[4]={1,2,3,4};
int i = 0,j = 0,k = 0;
int count = 0;
for(i = 0;i < 4;i++){
for(j = 0;j < 4;j++){
for(k = 0;k <4;k++){
if(i == j || i == k || j == k){
continue;
}
count++;
printf("%d\n",arr[i]*100+arr[j]*10+arr[k]);
}
}
}
printf("一共有%d",count);
return 0;
}
效果
百钱买百鸡问题
代码
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int i = 0,j = 0,k = 0;
for(i = 0;i <= 100;i++){
for(j = 0;j <=100;j++){
for(k = 0;k <=100;k++){
if(i*5.0+j*3.0+(k*1.0)/3 == 100*1.0 && i+j+k==100)
{
printf("公鸡有%d母鸡有%d小鸡有%d\n",i,j,k);
}
}
}
}
return 0;
}
效果
数值的逆置
代码
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int arr[5] = {1,2,3,4,5};
int i = 0,j = 0;
int temp = 0;
for(i = 4;i >= 0;i--){
for(j = 1;j < i+1; j++ ){
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
for(i = 0 ; i < 5 ;i++){
printf("arr[%d]= %d\n",i,arr[i]);
}
return 0;
}
效果
加餐
冒泡排序
代码
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int num = 0, temp = 0;
int i = 0,j = 0,k = 0;
int arr[num];
printf("请设置你要输入几个元素\n");
scanf("%d",&num);
printf("请输入\n");
for(i = 0;i < num ;i++){
scanf("%d",&arr[i]);
}
for(i = 0;i < num;i++){
for(j = 0; j < num-1;j++){
if(arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
printf("排序完的结果是\n");
for(i = 0; i < num;i++){
printf("arr[%d]=%d ",i,arr[i]);
}
putchar(10);
return 0;
}
效果
二维数组查找最大值和写出行号和列号
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
int arr[3][4] = {{2,5,1,12},{5,2,7,2},{8,7,4,9}};
int i = 0, j = 0;
int max = 0;
int maxh = 0,maxl = 0;
max = arr[0][0];
for ( i = 0; i <3; i++)
{
for ( j = 0; j < 4; j++)
{
if(max < arr[i][j])
{
max = arr[i][j] ;
maxh = i;
maxl = j;
}
}
}
printf("这个二维数组最大的值是%d,他的行号是%d,列号是%d\n",max,maxh,maxl);
return 0;
}
效果
目录