C语言编程求助!!!!!求高手帮忙!感激不尽!

1、改错(请注解为什么要这样改)
#include "stdio.h"
#include"string.h"
int main()
{
inti,s; /*请修改此处 */
char str[80];
i=0;
while ((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0;i<80;i++)
if (str[i]<='0' || str[i]>='9') /*请修改此处*/
s=s*10+str[i]; /*请修改此处*/
printf("%d",s);
return 0;
}
输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(0~9)转换位整数,去掉其他字符。例如字符串“3a56bc”转换位整数后是356。

2、编程题输入一个字符串,在指定位置插入一个字符。

#include "stdio.h"
#include"string.h"
int main()
{
int i,s = 0; /*请修改此处:int和i间有空格; 计算的和值s首先要清零 */
char str[80];
i=0;
while ((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0;i<80;i++)
if (str[i]>='0' && str[i]<='9') /*请修改此处:应该是同时满足这两个条件,如果是你写的条件的话,逻辑上刚好和这条语句相反,认真观察*/
s=s*10+str[i] - '0'; /*请修改此处:str[i]表示ascll值,若使用相应整数应减去‘0’*/
printf("%d\n",s);
return 0;
}

2.
#include "stdio.h"
#include"string.h"
int main()
{
int i;
char str[80], str2[80], ch;
printf("输入字符串:");
gets(str);
printf("输入要插入的字符:");

ch = getchar();
printf("输入要插入字符的位置:");

scanf("%d", &i);
strcpy(str2, str + i);
str[i] = ch;
str[i + 1] = '\0';
strcat(str, str2);
printf("%s\n",str);
return 0;
}追问

还有请问strcpy(str2,str+i)中的str+i是什么意思呢??

追答

帮你第二个都写了都不采纳,唉。
str表示str数组的首地址,str+i表示数组的第i个元素的地址,也就是说把str+i后面的字符串拷贝到str2字符串数组里面。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-10
第一题:
======================================================
#include "stdio.h"
#include "string.h"
int main()
{
int i,s=0; /*请修改此处 */ s要初始化为0,否则数值不可知
char str[80]={'0'}; //这里我觉得应该要初始化的,否则有意想不到的结果
i=0;
while ((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0;i<80;i++)
if (str[i]>='0' && str[i]<='9') /*请修改此处*/ 范围在0-9之间
s=s*10+str[i]-48; /*请修改此处*/ ‘0’对应整数48,‘9’对应整数57。
printf("%d",s);
return 0;
}

=======================================================追问

你好,我想问一下str[i]这个不是代表一个数吗?平时的printf("%d",str[i])数出的是一个数而不是符号啊?

追答

str[i]只代表一个字符, 你可以理解为是一个ascii码,比如'0',从字符角度讲他是0,但他对应的整数值是48。所以每个char字节都可看做是一个ascii码,这个ascii码可以用字符、整数表示。
printf("%c %c\n", 48, 57);这就是将整数和ascii码对应的字符打印出来,整数、字符具有对应关系的。

本回答被提问者和网友采纳
第2个回答  2012-12-11
以LAMP兄弟连的课程安排来说主要学习一下内容:
1.SpringSecurity:目前最主流的JavaEE安全解决方案,基于Spring。为基于JavaEE企业开发提供全面安全服务。
2.WebSphere:企业级应用服务器。包含了编写、运行和监视全天候的工业强度的随需应变 Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。
3.负载均衡:高并发解决方案。能利用一个集群中的多台单机,响应更多的并发请求。
4.分布式系统:由网络互联的多处理机体系结构上执行任务的系统。可有效提高系统的可扩展性、稳定性和执行效率
第3个回答  2012-12-11
#包括中
包括
#包括

无效的主要()
{
诠释;
诠释A = 0,B = 0;
持股量= 0,BT = 0;
做{
scanf的(“%d”,&X);
(x)的突破;
(x <0时)
{
A + +,+ = X;
}其他{
B + + BT + = X;
}
}(X);
printf的(“减计数:%2总:%.2 F \ N”,一, );
输出(“ABS数:%2D,总计:%.2 F \?”,B,BT);
残培();
}
第4个回答  2012-12-10
int i,s;

if (str[i]<='9' || str[i]>='0')

s=s*10+str[i]-48;

理由懒得写了。。
相似回答
大家正在搜