求救C语言高手!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求救C语言高手!!相关的知识,希望对你有一定的参考价值。

求编写一个程序
从键盘输入任意的字符,按下列规则进行分类计数
第一类“0”“1”“2”“3”“4”“5”“6”“7”“8”“9”
第二类“+”“-”“*”“/”“%”“=”
第三类 其他字符
当输入字符“\”时先计数,然后停止接受输入,打印计数的结果。

给你写个把,下面是程序代码

#include <stdio.h>
int main()

int ch;
int num=0,count=0,other=0;
printf("Input a string:\n");
while((ch=getchar())!='\\')

if(ch<='9'&&ch>='0')
num++;
else if(ch=='+'||ch=='-'||ch=='*'||ch=='/'||ch=='%'||ch=='=')
count++;
else
other++;

printf("0~9的数字有:%d个\n乘除加减取模赋值运算符有:%d个\n其他字符有:%d个\n",num,count,other);

参考技术A #include "stdafx.h"
#include "conio.h"

main()

char buff[200];
int n = 0;
int m = 0;
int j =0;
int k = 0;
int l = 0;
while(1)

char cTem;
cTem = getch();
if (cTem == 0x5C)

if (n==0)

break;

else

for (m=0;m<n;m++)

if (buff[m] >= '0' && buff[m] <= '9')

j += 1;

else if (buff[m] == '+' ||
buff[m] == '-' ||
buff[m] == '*' ||
buff[m] == '/' ||
buff[m] == '%' ||
buff[m] == '=' )

k += 1;

else

l += 1;




break;


else

buff[n] = cTem;
n += 1;


printf("NO1: %d\n", j);
printf("NO2: %d\n", k);
printf("NO3: %d\n", l);
参考技术B 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.

2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()

char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while((c=getchar())!='\n')

if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;

printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
getch();

粘个现成的,自己改一下,改一点就行了

参考资料:win tc编译

参考技术C 再加10分,我帮你做!

将C语言循环部分优化,改成线性汇编或者C的都行!~~高手求救

用CCS编译
void geometryTrans()

int i,j;
int intCapX,intCapY;
for(i=0;i<numLines;i++) //行数

for(j=0;j<numPixels;j++) //像素数每行

intCapX = j-intXOffset;
intCapY = i-intYOffset;

// 判断是否在原图范围内
if((intCapX>=0) && (intCapX<numPixels))

if((i<numLines) && (intCapY>=0) && (intCapY<numLines))

// 传送亮度信号
*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = *(Uint8 *)(capFrameBuf1->frame.iFrm.y1 + (i-intYOffset/2)*numPixels + intCapX);

else

*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = 0xFF;


else

*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = 0xFF;



要有耐心看......

问题:

用CCS翻译
void geometryTrans()

int i,j;
int intCapX,intCapY;
for(i=0;i<numLines;i++) //行数

for(j=0;j<numPixels;j++) //像素数每行

intCapX = j-intXOffset;
intCapY = i-intYOffset;

// 判断是否在原图范围内
if((intCapX>=0) && (intCapX<numPixels))

if((i<numLines) && (intCapY>=0) && (intCapY<numLines))

// 传送亮度信号
*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = *(Uint8 *)(capFrameBuf1->frame.iFrm.y1 + (i-intYOffset/2)*numPixels + intCapX);

else

*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = 0xFF;


else

*(Uint8 *)(disFrameBuf->frame.iFrm.y1 + i*numPixels + j) = 0xFF;



回答:

这个要看你使用什么编译器了。查看编译器的帮助文档,它会告诉你它支持那些指令集,并且做哪些可能的优化。

不同的编译器,是不一样的。

补充:GCC 不太清楚,你连VC++的版本都不说。汗,VC6是不支持SSE的,需要安装VC6SP5。
VS2005 和 VS2008 都支持 SSE。对 SSE/MMX 指令集优化得最好的,还是 Intel 的 c++ 编译器。

对并行和高性能计算,Fortran 的优势比较大。特别是 Fortran2003 的新特征,为并行计算做了很多专门的设定。Intel 也有 Fortran 的编译器。
参考技术A 这个要看你使用什么编译器了。查看编译器的帮助文档,它会告诉你它支持那些指令集,并且做哪些可能的优化。

不同的编译器,是不一样的。

补充:GCC 不太清楚,你连VC++的版本都不说。汗,VC6是不支持SSE的,需要安装VC6SP5。
VS2005 和 VS2008 都支持 SSE。对 SSE/MMX 指令集优化得最好的,还是 Intel 的 c++ 编译器。

对并行和高性能计算,Fortran 的优势比较大。特别是 Fortran2003 的新特征,为并行计算做了很多专门的设定。Intel 也有 Fortran 的编译器。

以上是关于求救C语言高手!!的主要内容,如果未能解决你的问题,请参考以下文章

将C语言循环部分优化,改成线性汇编或者C的都行!~~高手求救

C语言求救,急啊,谢谢了~!

关于学生信息管理的C语言编程问题求救(一定要是C语言编程,谢谢)

在Linux系统系下vi操作中C语言编程,如何进行复制粘贴?求救!

菜鸟再次求救!C语言3个数小到大排,为何3个if就行?if里面的赋值为啥要这样,求解释,谢了

谁能帮我做下这道C语言编程题,明天就要交了,好心人帮帮忙,谢谢了~~~~求救呀·~~~