| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 798 人关注过本帖
标题:[求助]帮我看看这段程序
只看楼主 加入收藏
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
 问题点数:0 回复次数:17 
[求助]帮我看看这段程序
有程序如下

   printf("please input the key: \n") ;
 scanf("%d",&p);
 while(!(p>=1&&p<=25))
 {
    printf("Error,please input again:");
    getchar();
    scanf("%d",&p);
    }

其中getchar()语句在这里是什么用的啊 为什么没了他 当输入错误是 会是死循环的啊

还有当输入的p为俩个字母的时候,为什么printf("Error,please input again:");这条语句会执行多遍的啊

各位高手帮帮忙
搜索更多相关主题的帖子: 字母 please 
2005-09-22 16:50
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
得分:0 
#include<stdio.h>
int main()
{
    int p;
    printf("please input the key: \n") ;
    scanf("%d",&p);
    while(!(p>=1&&p<=25))
    {
        printf("Error,please input again:");
        //getchar();
        scanf("%d",&p);
    }
    return 1;   
}     

不会啊,可以啊
2005-09-22 16:54
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
得分:0 
getchar()读取一个ascii字符  回车也算
2005-09-22 16:56
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 
怎么上传图片的啊 我传下运行结果
2005-09-22 17:13
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 
2005-09-22 17:21
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 
看下上面的图 当输入2个ww就 运行俩次printf("Error,please input again:"); 3个www就运行了3次

到底怎么回事啊
2005-09-22 17:22
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 
高手们快来帮我看看啊5555555
2005-09-22 17:24
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
得分:0 
有没有完整的代码啊,

当输入2个ww就 运行俩次printf("Error,please input again:"); 3个www就运行了

按你上面的程序,的确是这样啊
2005-09-22 17:26
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 

完整的代码

#include<stdio.h>

int key(int p) { printf("please input the key: \n") ; scanf("%d",&p); while(!(p>=1&&p<=25)) { printf("Error,please input again:"); getchar(); scanf("%d",&p); }

return p; } char encrypt(int t,int k,char ch[]) { int i; for(i=0;i<t;i++){ if(ch[i]>='a'&&ch[i]<='z') ch[i]=(ch[i]-'a'+k)%26+'A'; if(ch[i]>='A'&&ch[i]<='Z') ch[i]=(ch[i]-'A'+k)%26+'A'; else ; }

} main() { int k,n,i,t=100; char ch[t],s[t]; printf("please input the plaintext: \n"); scanf("%s",ch); n= strlen(ch); t=n; k=key(i); encrypt(t,k, ch); printf("The ciphertext is:\n \t\t\t"); printf("%s\n",ch); }

2005-09-22 17:29
language322
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-9-22
收藏
得分:0 
我就只要运行一次
2005-09-22 17:30
快速回复:[求助]帮我看看这段程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018306 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved