1.用C语言简单的输出一个九九乘法表(注意排序整齐)。
#include
int 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语言实现一个用户输入一个大写字母,然后以这个大写字母生成金字塔。
#include
int 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
结果输出:
最大值为:58
4.有一个数组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("%d\n",returnSize[0]);
printf("%d\n",returnSize[1]);
return 0;
}
int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
int i,j;
for(i=0;i
结果输出:
0
2
5.编写一个去除重复字符的函数,例如:用户输入: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
结果输出:
**有错误或者写的不好的地方,可以评论区留言或者联系我更改**