#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個贊
我給大改了一下(也不在乎能不能被選為最佳了,嘿嘿)。
輸入字符串和整數(shù)都可以,要以英文逗號分隔,長度不要超過500。
怕看不明白加了點注釋,看不懂的可以問我:)
#include<stdio.h> #include<string.h> int ParseStr( char (&szInput)[500], char *(&arrRet)[500]) { int nCount = 0; char szSeps[] = "," ; // 鍵盤輸入的整數(shù)用英文逗號分隔. 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;
}
功能已經實現(xiàn)了!希望我的解答能帶給你幫助!
就是你最好不要給整型數(shù)組賦字符值,那樣很容易出錯,還有傳數(shù)組給函數(shù)時最好用指針!
先用了10個數(shù)測試了一下,已經沒問題了!
- 2 回答
- 0 關注
- 244 瀏覽