C语言函数编程题

Python023

C语言函数编程题,第1张

修改后的C语言程序:

#include <stdio.h> 

void triangle(int g)

{

int n=1, m /* 修改处1 */

for(nn<=g n++)

{

for(m=1m<=2*n-1m++) /* 修改处2 */

putchar('*')

putchar('\n')

}

}

void rectangle(int g)

{

int n=1, m /* 修改处3 */

for(nn<=gn++)

{

for(m=1m<=3m++) /* 修改处4 */

putchar('*')

putchar('\n')

}

}

int main()

{

int i,k

printf("请输入行数(大于3):")

scanf("%d",&i)

printf("请选择图形:1---三角形  \t2---矩形\t3---小旗 :")

scanf("%d",&k)

if(k==1)

triangle(i)

}

if(k==2)

rectangle(i)

}

if(k==3)

triangle(i)

rectangle(i)

}

return 0

}

#include<stdio.h>

void del(char in[],char c, char res[]){

int i, j=0

for(i = 0 in[i]!= '\0' i++) {

if(in[i] != c) {

res[j++] = in[i]

}

}

res[j] = '\0'

}

int main(void) {

char a[5]="sdfs",c='s', b[5]

del(a,c,b)

puts(b)

return 0

}

不是打击你,你的代码没有几行是正确的。

#include<stdio.h>

void del(char s[],char c){

int i,j

//--i从0一直往上加。永远不等于'\0'

for(i=0,j=0i!='\0'i++){

//应该跟c比较,不是‘c’

if(s[i]!='c')

//下面逻辑不通。

s[j]=s[i]

j++

}

}

//main函数签名要不要写全

main()

{char a[5],c

int i=0

 //输入5个字符,‘\0’放在哪?

 //c有没有初始化?

for(i=0i<5i++){

scanf("%c",a[i])

}

 //--输出字符,del返回的是%c吗?

 //传入的参数不是a[5],是个数组。

 printf("%c",del(a[5],c))

}

不难吧?

int palindrome(char *s)

{    int i,L=strlen(s)

for (i=0i<L/2i++)

if (s[i] != s[L-i-1])

return 0

return 1

}

如图