1.用C语言简单的输出一个九九乘法表(注意排序整齐)。
#includeint main(void) { int i,j; printf("乘法表:n"); for ( i = 1; i <= 9; i++) { for ( j = 1; j <= i; j++) { if (i<=4 && j==3) { printf("%5d*%d=%d",j,i,i*j); } else { printf("%4d*%d=%d",j,i,i*j); } } printf("n"); } return 0; }
结果输出:
2.用C语言实现一个用户输入一个大写字母,然后以这个大写字母生成金字塔。
#includeint main(void) { char i,j,z,k; int h,q; printf("请输入一个大写字母:"); scanf("%c",&k); if ('A'<=k && k<='Z') { q=k-65; for (z = 'A'; z <= k; z++) { for ( h=0; h < q; h++) { printf(" "); } for ( i = 'A'; i < z; i++) { printf("%c ",i); } for ( j = z; j >='A'; j--) { printf("%c ",j); } q--; printf("n"); } } return 0; }
结果输出:
3.已知数组nums[6]={1,9,4,58,12,23},定义一个指针函数int* max(int* p,int len);返回一个最大值的地址。
#include//声明 int* max(int* p, int len); int main(void) { //定义局部变量 int nums[6]={1,9,4,58,12,23}, i,*k; //调用max函数,并把返回的地址给指针k; k=max(nums, 6); //打印 printf("最大值为:%d",*k); return 0; } //返回最大值的地址 int* max(int* p, int len) { //定义局部变量 int* q,i,k=0; for(i=0; i 结果输出:
最大值为:584.有一个数组nums[ ]={2,7,11,15},还有一个变量target=13,写一个函数实现返回数组中两个数相加等于target的两个下标。
#include#include int* twoSum(int* nums, int numsSize, int target, int* returnSize); int main(void) { int nums[]={2,7,11,15},target=13,returnSize[2],numsSize=0; numsSize=sizeof(nums)/sizeof(int); twoSum(nums,numsSize,target,returnSize); printf("%dn",returnSize[0]); printf("%dn",returnSize[1]); return 0; } int* twoSum(int* nums, int numsSize, int target, int* returnSize) { int i,j; for(i=0;i 结果输出:
0 25.编写一个去除重复字符的函数,例如:用户输入:weerrt 输出:wert 。
#include#include //声明 int removeDuplicates(char* nums, int numsSize); int main(void) { //定义局部变量 int i,numsSize=0,a=0; char nums[64]; //用户输入 printf("请输入一个字符串:"); scanf("%s",nums); //计算字符串字符个数 numsSize=strlen(nums); //将返回结果加1给numsSize重新赋值 numsSize=removeDuplicates(nums,numsSize)+1; //打印结果 printf("去除重复字符后的结果:"); for ( i = 0; i < numsSize; i++) { printf("%c",nums[i]); } return 0; } //去除字符串里的重复字符 函数 int removeDuplicates(char* nums, int numsSize) { //定义局部变量 int i,j,k,y=numsSize-1,a=0; //利用for循环遍历 for(i=0;i