#include<stdio.h>#include<string.h>void antitone(int a[],int n);main(){int a[100],i,t,n;for(i=0;a[i]!='\0';i++){scanf("%d",&a[i]);antitone(a,N);for (i=0;a[i]!='\0';i++)printf("%d\n",a[i]);}}void antitone(int a[],int n){int i,t;for(i=0;a[i]!='\0';i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t; }}
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
我给大改了一下(也不在乎能不能被选为最佳了,嘿嘿)。
输入字符串和整数都可以,要以英文逗号分隔,长度不要超过500。
怕看不明白加了点注释,看不懂的可以问我:)
#include<stdio.h> #include<string.h> int ParseStr( char (&szInput)[500], char *(&arrRet)[500]) { int nCount = 0; char szSeps[] = "," ; // 键盘输入的整数用英文逗号分隔. char *token = NULL; token = strtok (szInput, szSeps); while (token!=NULL && nCount<500 /*防止越界*/ ) { int nLen = strlen (token); char *szToken = new char [500]; // 申请内存 if (szToken == NULL) // 分配内存失败 break ; arrRet[nCount++] = szToken; if (nLen < 500) strcpy (szToken, token); else { strncpy (szToken, token, 500-1); szToken[500-1] = 0; // 结束符 } token = strtok (NULL, szSeps); } return nCount; } void antitone( char *(&arrParsed)[500], int n) { int nMid = n/2; for ( int i=0; i<nMid; ++i) { char * szTemp = arrParsed[i]; arrParsed[i] = arrParsed[n-1-i]; arrParsed[n-1-i] = szTemp; } } void PutoutResult( char *(&arrParsed)[500], int n) { for ( int i=0; i<n; ++i) { if (i > 0) printf ( "," ); printf ( "%s" , arrParsed[i]); } printf ( "\n" ); } void FreeArrayData( char *(&arrParsed)[500], int n) // 释放内存 { for ( int i=0; i<n; ++i) { delete arrParsed[i]; arrParsed[i] = NULL; } } void main() { char szInput[500] = {0}; gets (szInput); // 获取输入,以英文逗号分隔. char *arrParsed[500] = {0}; // 解析结果 int nCount = ParseStr(szInput, arrParsed); // 逆序 antitone(arrParsed, nCount); // 输出结果 PutoutResult(arrParsed, nCount); // 释放内存 FreeArrayData(arrParsed, nCount); } |
嘿嘿,附个测试结果吧:
沧海一幻觉
TA贡献1824条经验 获得超5个赞
#include<stdio.h>
#include<string.h>
void antitone(int *m,int *n);
void main()
{
int a[10],i;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
antitone(&a[i],&a[10-i-1]);
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
}
void antitone(int *m,int *n)
{
int t;
t=*m;
*m=*n;
*n=t;
}
功能已经实现了!希望我的解答能带给你帮助!
就是你最好不要给整型数组赋字符值,那样很容易出错,还有传数组给函数时最好用指针!
先用了10个数测试了一下,已经没问题了!
- 2 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消