c++初学者有几个问题请教

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:14:29
帮忙写两个C++小程序 都用 STRING或者ARRAY来做的
第一个是输入一个整数比如10
输出 1,2,3,4,5,6,7,8,9,and10。 用一般的方法我会做 但是要用STRING来做 我就弄不懂了。
第二个是输入一个STRING 比如 “uuuuuu (fdfdfdf)fdfdfd"
输出”uuuuuu[fdfdfdf]fdfdfd" 就是把小括号()换成中括号[]其他不变
写的越简单越好哈 主要是自己想弄懂。。谢谢了

1:
#include<stdio.h>
int main()
{
int n,i;
char a[20]={0};
scanf("%d",&n);
sprintf(a,"and%d",n);
for(i=1;i<n;i++)
printf("%d,",i);
printf("%s\n",a);
return 0;
}

2:

#include<stdio.h>
int main()
{
char a[40]={0},*p;
p=a;
scanf("%s",a);
while(*p)
{
if(*p=='(')
*p='[';
if(*p==')')
*p=']';
p++;
}

printf("%s\n",a);
return 0;
}

此帖已删除.

1楼的回答还可以
问题1 搂主没说明n <= 1时候的处理。
问题2 while(*p) 写法不推荐。如果字符串长度超过40 会造成不可预知的结果。

2.
#include <stdio.h>

int main()
{
int ch;
while ((ch = getchar()) != EOF) { // EOF 改成 '\n'就只运行一次
if (ch == '(') {
putch('[');