1.九九乘法表(上三角)
//代码
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i,j;
for(i=1;i<10;i++)
{
for(j=i;j<10;j++)
{
printf("%d*%d=%-2d ",i,j,i*j);
}
putchar('\n');
}
return 0;
}
//运行结果
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=72
9*9=81
2.使用break实现九九乘法表
//代码
#include<stdio.h>
int main(int argc, const char *argv[])
{
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
{
if(j>i)
break;
else
printf("%d*%d=%-2d ",i,j,i*j);
}
putchar('\n');
}
return 0;
}
//运行结果
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
3.用for循环打印金字塔和字母图形
//打印金字塔
#include<stdio.h>
int main(int argc, const char *argv[])
{
printf("请输入行数:\n");
int n;
scanf("%d", &n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
putchar(' ');
for(int j=0;j<2*i-1;j++)
putchar('*');
putchar('\n');
}
return 0;
}
//运行结果
请输入行数:
5
*
***
*****
*******
*********
//打印字母图形
#include<stdio.h>
int main(int argc, const char *argv[])
{
printf("请输入字母:\n");
char a;
int n;
scanf("%c", &a);
if(a>='a'&&a<='z')
n = a - 96;
else if(a>='A'&&a<='Z')
n = a - 64;
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
putchar('_');
for(int j=0;j<i;j++)
putchar(a-j);
putchar('\n');
}
return 0;
}
//运行结果
请输入字母:
H
H
_HG
__HGF
___HGFE
____HGFED
_____HGFEDC
______HGFEDCB
_______HGFEDCBA
4.整形数组的逆置
//代码
#include<stdio.h>
int main(int argc, const char *argv[])
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int length = sizeof(arr)/sizeof(arr[0]);
for(int i=0;i<length/2;i++)
{
int temp = arr[i];
arr[i] = arr[length-i-1];
arr[length-i-1] = temp;
}
for(int i=0;i<length;i++)
printf("%d ",arr[i]);
putchar('\n');
return 0;
}
//运行结果
zzy@zzy-vm:~/c_program/day5$ ./test14
10 9 8 7 6 5 4 3 2 1
5.定义一个一维数组int a[]={1,2,3,4,5,6,7}
(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 length = sizeof(a)/sizeof(a[0]); //求数组a的长度
printf("数组a的长度为%d\n",length);
for(int i=0;i<length;i++)
{
if(i%2==1)
a[i] *= 3;
else
a[i] += 2;
}
for(int i=0;i<length;i++)
printf("%d ",a[i]);
putchar('\n');
return 0;
}
//运行结果
数组a的长度为8
3 6 5 12 7 18 9 24